package com.fegin.bean.app;

import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;

/**
 * <p>
 * 手机用户表
 * </p>
 *
 * @author 张子艺
 * @since 2019-02-19
 */
@TableName("stock_user")
@ApiModel(value = "用户信息")
public class StockUser extends Model<StockUser> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID")
	private Long id;
    /**
     * 用户昵称
     */
	@ApiModelProperty(value = "用户昵称")
	private String nickname;
    /**
     * 真实姓名
     */
	@ApiModelProperty(value = "真实姓名")
	private String username;
    /**
     * 登录帐号
     */
	@ApiModelProperty(value = "userUid")
	@TableField("user_uid")
	private String userUid;
    /**
     * 手机号
     */
	@ApiModelProperty(value = "手机号",required = true)
	private String tel;
    /**
     * 邮箱|帐号
     */
	@ApiModelProperty(value = "邮箱|帐号",required = true)
	private String email;
    /**
     * 密码，使用md5加密
     */
	@ApiModelProperty(value = "密码",required = true)
	private String pswd;
    /**
     * 交易密码
     */
	@ApiModelProperty(value = "tradePwd")
	@TableField("trade_pwd")
	private String tradePwd;
    /**
     * 设备号
     */
	@ApiModelProperty(value = "deviceNo")
	@TableField("device_no")
	private String deviceNo;
    /**
     * 创建时间
     */
	@ApiModelProperty(value = "创建时间")
	@TableField("create_time")
	private Date createTime;
    /**
     * 最后登录时间
     */
	@ApiModelProperty(value = "最后登录时间")
	@TableField("last_login_time")
	private Date lastLoginTime;
    /**
     * 邀请码
     */
	@ApiModelProperty(value = "邀请码")
	@TableField("invitation_code")
	private String invitationCode;
    /**
     * 上级代理id
     */
	@ApiModelProperty(value = "上级代理id")
	@TableField("agent_id")
	private Long agentId;
    /**
     * 审核者ID
     */
	@ApiModelProperty(value = "审核者ID")
	@TableField("inspector_id")
	private Long inspectorId;
    /**
     * 审核原因
     */
	@ApiModelProperty(value = "审核原因")
	@TableField("inspect_auth_reason")
	private String inspectAuthReason;
    /**
     * 审核时间
     */
	@ApiModelProperty(value = "审核时间")
	@TableField("inspect_auth_time")
	private Date inspectAuthTime;
    /**
     * 1:未认证 2:待审核 3:已认证 4:审核未通过
     */
	@ApiModelProperty(value = "1:未认证 2:待审核 3:已认证 4:审核未通过")
	@TableField("inspect_auth_status")
	private Integer inspectAuthStatus;
    /**
     *  0:模拟用户 false 1:真实用户 true
     */
	@ApiModelProperty(value = "0:模拟用户 false 1:真实用户 true")
	@TableField("is_real")
	private Integer isReal;
    /**
     * 0:未禁用 1：禁用
     */
	@ApiModelProperty(value = "0:未禁用 1：禁用")
	@TableField("is_disable")
	private Integer isDisable;
    /**
     * 0:未删除 1:删除
     */
	@ApiModelProperty(value = "0:未删除 1:删除")
	@TableField("is_deleted")
	private Integer isDeleted;
    /**
     * 是否是经纪人 1:是，0:否
     */
	@ApiModelProperty(value = "是否是经纪人 1:是，0:否")
	@TableField("is_staff")
	private Integer isStaff;
    /**
     * 是否是商家 0：false 不是商家  1：true 是商家
     */
	@ApiModelProperty(value = "是否是商家 0：false 不是商家  1：true 是商家")
	@TableField("is_shop")
	private Integer isShop;
	private Date timestamp;
    /**
     * 上级经纪人id
     */
	@ApiModelProperty(value = "上级经纪人id")
	@TableField("invitation_id")
	private Long invitationId;
    /**
     * 推荐邀请关系树
     */
	@ApiModelProperty(value = "推荐邀请关系树")
	@TableField("invitation_path")
	private String invitationPath;
    /**
     * 申请经济人拒绝原因
     */
	@ApiModelProperty(value = "申请经济人拒绝原因")
	@TableField("staff_inspect_reason")
	private String staffInspectReason;
    /**
     * 经济人审核时间
     */
	@ApiModelProperty(value = "经济人审核时间")
	@TableField("staff_inspect_time")
	private Date staffInspectTime;
    /**
     * 经纪人申请状态1.未申请 2.已申请(待审核）3.同意 4.拒绝
     */
	@ApiModelProperty(value = "经纪人申请状态1.未申请 2.已申请(待审核）3.同意 4.拒绝")
	@TableField("staff_apply_status")
	private Integer staffApplyStatus;
    /**
     * 申请商家拒绝原因
     */
	@ApiModelProperty(value = "申请商家拒绝原因")
	@TableField("shop_inspect_reason")
	private String shopInspectReason;
    /**
     * 商家审核时间
     */
	@ApiModelProperty(value = "商家审核时间")
	@TableField("shop_inspect_time")
	private Date shopInspectTime;
    /**
     * 商家申请状态1.未申请 2.已申请(待审核）3.同意 4.拒绝 5.已解绑
     */
	@ApiModelProperty(value = "商家申请状态1.未申请 2.已申请(待审核）3.同意 4.拒绝 5.已解绑")
	@TableField("shop_inspect_status")
	private Integer shopInspectStatus;
    /**
     * 成为商家冻结保证金
     */
	@TableField("shop_frost_fund")
	@ApiModelProperty(value = "成为商家冻结保证金")
	private BigDecimal shopFrostFund;
    /**
     * 平台冻结
     */
   @ApiModelProperty(value = "平台冻结")
	@TableField("platform_frost_fund")
	private BigDecimal platformFrostFund;
    /**
     * 佣金比例
     */
	@ApiModelProperty(value = "佣金比例")
	@TableField("concession_ratio")
	private BigDecimal concessionRatio;
    /**
     * 0:机器人 1:真实用户
     */
	@ApiModelProperty(value = "0:机器人 1:真实用户")
	@TableField("robotry_status")
	private Integer robotryStatus;
    /**
     * 用户单独设置手续费比例
     */
	@ApiModelProperty(value = "用户单独设置手续费比例")
	@TableField("user_charge_rate")
	private BigDecimal userChargeRate;


	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getNickname() {
		return nickname;
	}

	public void setNickname(String nickname) {
		this.nickname = nickname;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getUserUid() {
		return userUid;
	}

	public void setUserUid(String userUid) {
		this.userUid = userUid;
	}

	public String getTel() {
		return tel;
	}

	public void setTel(String tel) {
		this.tel = tel;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getPswd() {
		return pswd;
	}

	public void setPswd(String pswd) {
		this.pswd = pswd;
	}

	public String getTradePwd() {
		return tradePwd;
	}

	public void setTradePwd(String tradePwd) {
		this.tradePwd = tradePwd;
	}

	public String getDeviceNo() {
		return deviceNo;
	}

	public void setDeviceNo(String deviceNo) {
		this.deviceNo = deviceNo;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getLastLoginTime() {
		return lastLoginTime;
	}

	public void setLastLoginTime(Date lastLoginTime) {
		this.lastLoginTime = lastLoginTime;
	}

	public String getInvitationCode() {
		return invitationCode;
	}

	public void setInvitationCode(String invitationCode) {
		this.invitationCode = invitationCode;
	}

	public Long getAgentId() {
		return agentId;
	}

	public void setAgentId(Long agentId) {
		this.agentId = agentId;
	}

	public Long getInspectorId() {
		return inspectorId;
	}

	public void setInspectorId(Long inspectorId) {
		this.inspectorId = inspectorId;
	}

	public String getInspectAuthReason() {
		return inspectAuthReason;
	}

	public void setInspectAuthReason(String inspectAuthReason) {
		this.inspectAuthReason = inspectAuthReason;
	}

	public Date getInspectAuthTime() {
		return inspectAuthTime;
	}

	public void setInspectAuthTime(Date inspectAuthTime) {
		this.inspectAuthTime = inspectAuthTime;
	}

	public Integer getInspectAuthStatus() {
		return inspectAuthStatus;
	}

	public void setInspectAuthStatus(Integer inspectAuthStatus) {
		this.inspectAuthStatus = inspectAuthStatus;
	}

	public Integer getIsReal() {
		return isReal;
	}

	public void setIsReal(Integer isReal) {
		this.isReal = isReal;
	}

	public Integer getIsDisable() {
		return isDisable;
	}

	public void setIsDisable(Integer isDisable) {
		this.isDisable = isDisable;
	}

	public Integer getIsDeleted() {
		return isDeleted;
	}

	public void setIsDeleted(Integer isDeleted) {
		this.isDeleted = isDeleted;
	}

	public Integer getIsStaff() {
		return isStaff;
	}

	public void setIsStaff(Integer isStaff) {
		this.isStaff = isStaff;
	}

	public Integer getIsShop() {
		return isShop;
	}

	public void setIsShop(Integer isShop) {
		this.isShop = isShop;
	}

	public Date getTimestamp() {
		return timestamp;
	}

	public void setTimestamp(Date timestamp) {
		this.timestamp = timestamp;
	}

	public Long getInvitationId() {
		return invitationId;
	}

	public void setInvitationId(Long invitationId) {
		this.invitationId = invitationId;
	}

	public String getInvitationPath() {
		return invitationPath;
	}

	public void setInvitationPath(String invitationPath) {
		this.invitationPath = invitationPath;
	}

	public String getStaffInspectReason() {
		return staffInspectReason;
	}

	public void setStaffInspectReason(String staffInspectReason) {
		this.staffInspectReason = staffInspectReason;
	}

	public Date getStaffInspectTime() {
		return staffInspectTime;
	}

	public void setStaffInspectTime(Date staffInspectTime) {
		this.staffInspectTime = staffInspectTime;
	}

	public Integer getStaffApplyStatus() {
		return staffApplyStatus;
	}

	public void setStaffApplyStatus(Integer staffApplyStatus) {
		this.staffApplyStatus = staffApplyStatus;
	}

	public String getShopInspectReason() {
		return shopInspectReason;
	}

	public void setShopInspectReason(String shopInspectReason) {
		this.shopInspectReason = shopInspectReason;
	}

	public Date getShopInspectTime() {
		return shopInspectTime;
	}

	public void setShopInspectTime(Date shopInspectTime) {
		this.shopInspectTime = shopInspectTime;
	}

	public Integer getShopInspectStatus() {
		return shopInspectStatus;
	}

	public void setShopInspectStatus(Integer shopInspectStatus) {
		this.shopInspectStatus = shopInspectStatus;
	}

	public BigDecimal getShopFrostFund() {
		return shopFrostFund;
	}

	public void setShopFrostFund(BigDecimal shopFrostFund) {
		this.shopFrostFund = shopFrostFund;
	}

	public BigDecimal getPlatformFrostFund() {
		return platformFrostFund;
	}

	public void setPlatformFrostFund(BigDecimal platformFrostFund) {
		this.platformFrostFund = platformFrostFund;
	}

	public BigDecimal getConcessionRatio() {
		return concessionRatio;
	}

	public void setConcessionRatio(BigDecimal concessionRatio) {
		this.concessionRatio = concessionRatio;
	}

	public Integer getRobotryStatus() {
		return robotryStatus;
	}

	public void setRobotryStatus(Integer robotryStatus) {
		this.robotryStatus = robotryStatus;
	}

	public BigDecimal getUserChargeRate() {
		return userChargeRate;
	}

	public void setUserChargeRate(BigDecimal userChargeRate) {
		this.userChargeRate = userChargeRate;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	@Override
	public String toString() {
		return "StockUser{" +
			"id=" + id +
			", nickname=" + nickname +
			", username=" + username +
			", userUid=" + userUid +
			", tel=" + tel +
			", email=" + email +
			", pswd=" + pswd +
			", tradePwd=" + tradePwd +
			", deviceNo=" + deviceNo +
			", createTime=" + createTime +
			", lastLoginTime=" + lastLoginTime +
			", invitationCode=" + invitationCode +
			", agentId=" + agentId +
			", inspectorId=" + inspectorId +
			", inspectAuthReason=" + inspectAuthReason +
			", inspectAuthTime=" + inspectAuthTime +
			", inspectAuthStatus=" + inspectAuthStatus +
			", isReal=" + isReal +
			", isDisable=" + isDisable +
			", isDeleted=" + isDeleted +
			", isStaff=" + isStaff +
			", isShop=" + isShop +
			", timestamp=" + timestamp +
			", invitationId=" + invitationId +
			", invitationPath=" + invitationPath +
			", staffInspectReason=" + staffInspectReason +
			", staffInspectTime=" + staffInspectTime +
			", staffApplyStatus=" + staffApplyStatus +
			", shopInspectReason=" + shopInspectReason +
			", shopInspectTime=" + shopInspectTime +
			", shopInspectStatus=" + shopInspectStatus +
			", shopFrostFund=" + shopFrostFund +
			", platformFrostFund=" + platformFrostFund +
			", concessionRatio=" + concessionRatio +
			", robotryStatus=" + robotryStatus +
			", userChargeRate=" + userChargeRate +
			"}";
	}
}
